Page({

  /**
   * 页面的初始数据
   */
  data: {
    isCollapse: true, //true点击乐展开 false点击了收起
    isDelStaus: false,
    hisCopyList: [], //非展开数据
    hisList: [], //所有数据
    keywords: ""

  },
  close(e) {
    console.log(e, e.target.dataset.index)
    const {
      index
    } = e.target.dataset
    // 1.删除 hisList 对应的成员 更新hiscopyList
    const {
      hisList
    } = this.data
    hisList.splice(index, 1)
    this.setData({
      hisList,
      hisCopyList: hisList.slice(0, 4)
    })
    // 2. 删除后防止页面刷新后数据重新回显 更新本地存储
  },
  removeAll() {
    this.setData({
      hisList: [],
      hisCopyList: []
    })
    try {
      wx.setStorageSync('history', hisList)
    } catch (e) {}

  },
  //1.用双向数据绑顶(早期双向数据绑定不行 - 单向数据流value-bindinput-setData) 
  //2.form表单触发
  confirm() {
    // console.log(this.data.keywords)
    const keywords = this.data.keywords.trim()
    console.log(keywords)
    //是否为空的判断
    if (!keywords) {
      // 输入搜索的内容为空时，提示
      wx.showToast({
        title: '不能为空',
        icon: 'none',
        duration: 2000
      })
      return
    }
    this.setCache(keywords)
    wx.navigateTo({
      url: `/pages/result/index?keywords=${keywords}`,
    })
  },
  // 点击了历史记录
  tapHistory(e) {
    console.log(e.target.dataset)
    this.setData({
      keywords: e.target.dataset.val
    })
    this.confirm()
  },
  //存储数据
  setCache(val) {
    //1.将给的val放入到this.data.hislist中
    const {
      hisList
    } = this.data
    // 判断原来的数据中已经存在的
    const index = hisList.findIndex(item => item === val)
    if (index >= 0) {
      hisList.splice(index, 1)
    }
    hisList.unshift(val)
    //添加历史记录（限制最多存储100条）
    if (hisList.length > 100) {
      //删除末尾成员
      hisList.pop()
    }

    //2.将当前数据存储本地
    try {
      wx.setStorageSync('history', hisList)
    } catch (e) {
      console.log(e)
    }
    //3.更新视图
    this.setData({
      hisList,
      hisCopyList: hisList.slice(0, 4)
    })
  },
  changeVal(e) {
    this.setData({
      keywords: e.detail.value
    })
  },
  //过滤展示
  filterShow() {
    console.log(this.data.hisList)
    //获取本地数据
    // const localData = [
    //   "测试","测试","测试","测试","测试",
    // ]
    const localData = wx.getStorageSync("history") || []
    this.setData({
      hisCopyList: localData.slice(0, 4),
      hisList: localData
    })
  },
  //点击展开
  toggle() {
    const isCollapse = !this.data.isCollapse
    this.setData({
      isCollapse
    })
  },
  //切换删除状态:页面中事件传参 
  //1.页面组件属性 data-名称="值"  
  //2.事件函数中获取第一个函数比如 e.target.dataset.名称
  toggleDel(e) {
    const {
      flag: isCollapse
    } = e.target.dataset
    const isDelStaus = !this.data.isDelStaus
    this.setData({
      isDelStaus,
      isCollapse
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.filterShow()
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})